package com.example.message.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.example.project.core.domain.BaseEntity;

import java.time.LocalDateTime;

/**
 * 通知接收表
 */
@TableName("t_message_receive")
public class MessageReceive extends BaseEntity{
    
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	/**
	 * 接收ID
	 */
	@TableId(value = "receive_id", type = IdType.AUTO)
	private Long receiveId;

	/**
	 * 通知ID
	 */
	@TableField("message_id")
    private Long messageId;
    
    /**
     * 接收人ID
     */
	@TableField("receiver_id")
    private Long receiverId;
    
    /**
     * 接收人姓名
     */
	@TableField("receiver_name")
    private String receiverName;
    
    /**
     * 接收人部门ID
     */
	@TableField("dept_id")
    private Long deptId;
    
    /**
     * 接收人部门名称
     */
	@TableField("dept_name")
    private String deptName;
    
    /**
     * 阅读状态（0：未读，1：已读）
     */
	@TableField("read_status")
    private Integer readStatus;
    
    /**
     * 阅读时间
     */
	@TableField("read_time")
    private LocalDateTime readTime;
    
    /**
     * 处理状态（0：未处理，1：已处理，2：忽略）
     */
	@TableField("handle_status")
    private Integer handleStatus;
    
    /**
     * 处理时间
     */
	@TableField("handle_time")
    private LocalDateTime handleTime;
    
    /**
     * 处理备注
     */
	@TableField("handle_remark")
    private String handleRemark;
    
    /**
     * 删除标志（0：正常，1：删除）
     */
	@TableField("del_flag")
    @TableLogic
    private Integer delFlag;
    
    /**
     * 通知信息（非数据库字段）
     */
    @TableField(exist = false)
    private Message message;

    // Getter and Setter methods
    public Long getReceiveId() { return receiveId; }
    public void setReceiveId(Long receiveId) { this.receiveId = receiveId; }
    
    public Long getMessageId() { return messageId; }
    public void setMessageId(Long messageId) { this.messageId = messageId; }
    
    public Long getReceiverId() { return receiverId; }
    public void setReceiverId(Long receiverId) { this.receiverId = receiverId; }
    
    public String getReceiverName() { return receiverName; }
    public void setReceiverName(String receiverName) { this.receiverName = receiverName; }
    
    public Long getDeptId() { return deptId; }
    public void setDeptId(Long deptId) { this.deptId = deptId; }
    
    public String getDeptName() { return deptName; }
    public void setDeptName(String deptName) { this.deptName = deptName; }
    
    public Integer getReadStatus() { return readStatus; }
    public void setReadStatus(Integer readStatus) { this.readStatus = readStatus; }
    
    public LocalDateTime getReadTime() { return readTime; }
    public void setReadTime(LocalDateTime readTime) { this.readTime = readTime; }
    
    public Integer getHandleStatus() { return handleStatus; }
    public void setHandleStatus(Integer handleStatus) { this.handleStatus = handleStatus; }
    
    public LocalDateTime getHandleTime() { return handleTime; }
    public void setHandleTime(LocalDateTime handleTime) { this.handleTime = handleTime; }
    
    public String getHandleRemark() { return handleRemark; }
    public void setHandleRemark(String handleRemark) { this.handleRemark = handleRemark; }
    
    public Integer getDelFlag() { return delFlag; }
    public void setDelFlag(Integer delFlag) { this.delFlag = delFlag; }
    
    public Message getMessage() { return message; }
    public void setMessage(Message message) { this.message = message; }
}